package com.howard.webapp.familymanagement.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.howard.webapp.familymanagement.domain.User;
import com.howard.webapp.familymanagement.service.BaseService;
import com.howard.webapp.familymanagement.service.UserService;

@Controller
@RequestMapping("sysadmin/userManage")
public class UserController extends BaseController<User, Long>{
	
	// 服务类
	@Autowired
	private UserService service; 
	
	@Override
	protected BaseService<User, Long> getService() {
		return service;
	}
	
	@RequestMapping("/index")
	protected String getIndex() {
		return "/sysadmin/userManage";
	}

	
	
//	@RequestMapping("/listUsers")
//	@ResponseBody
//	public String listUsers(
//			@RequestParam(required = false, defaultValue = "1") Integer page,
//            @RequestParam(required = false, defaultValue = "5") Integer rows,
//            Model model){
//		System.out.println("listUsers, page="+page+",rows="+rows);
//		Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
//		PageRequest request =
//	            new PageRequest(page - 1, rows, Sort.Direction.DESC, "id");
//		Page<User> pageResult = service.findAllWithPage(request);
//		model.addAttribute("rows", pageResult.getContent());
//		model.addAttribute("total", pageResult.getTotalElements());
//		return gson.toJson(model);
//	}
//	
//	
//	@RequestMapping(value="/updUser",method=RequestMethod.POST)
//	@ResponseBody
//	public Map<String, String> addUser(@RequestBody User user)
//	{
//		System.out.println("新增");
//		System.out.println("捕获到前台传递过来的Model，名称为："+new Gson().toJson(user));
//	    Map<String, String> map = new HashMap<String, String>(1);
//	    map.put("success", "true");
//	    return map;
//	}
//	
//	@RequestMapping("/delUsers")
//	@ResponseBody
//	public String delUsers(String[] ids, Model model){
//		if(ids == null || ids.length < 1){
//			model.addAttribute("msg", "请选择要删除用户！");
//			return new Gson().toJson(model);
//		}
//		
//		for(String id: ids){
//			User user = new User();
//			user.setId(Long.parseLong(id));
//			try{
//				userService.delUser(user);
//				model.addAttribute("success", true);
//			}catch(Exception e){
//				model.addAttribute("success", false);
//				model.addAttribute("msg", e.getMessage());
//			}
//		}
//		return new Gson().toJson(model);
//	}

	
}
